2
תגובות
אהלן,
אני מנסה להשוות בין שתי מחרוזות טקסט זהות, אולם משפט ה-IF מחזיר לי FALSE.
בדקתי באמצעות VAR_DUMP את שתי המחרוזת ולהפתעתי, שניהן בעלות גודל שונה:

string(66) "צמיגmichelinבמבצעבמידה245-40R18רק950ש''ח"
string(58) "צמיגmichelinבמבצעבמידה245-40R18רק950ש''ח"


המחרוזת הראשונה והבעייתית מגיעה בתחילה בצורה הבאה:
string(75) "צמיג michelin במבצע במידה 245-40R18 רק 950 ש\'\'ח"


וכדי להוריד ממנה את הרווחים ואת הסלשים שנוצרו באמצעות magic quote הוספתי על המחרוזת את הפונקציות Trim ואת Stripslashes
ולראיה התוצאה למעלה...

אני אובד עצות וממש חייב להשוות בין המחרוזות, מה ניתן לעשות?

2 תשובות

avatar ענה Splash ב 13 למרץ 2015 #

מאיפה אתה מקבל כל מחרוזת ? יכול להיות שקיימים תווים רייקים במחרוזת הראשונה (\0 AKA Null byte) כדי באמת לדעת אפשר לרוץ על המחרוזת בעזרת לולאה ולבדוק מה מופיע בכל תו.

עוד אפשרות שיכולה להיות שכל מחרוזת מיוצגת בקידוד אחר ולכן תצטרך לבדוק שבאמת כל ההגדרות שלך הן על utf-8.

avatar ענה intval ב 13 למרץ 2015 #

המחרוזות בקידודים שונים, כאשר בקידוד אחד כל אות לוקחת בייט אחד מקום ובקידוד אחר חלק מהאותיות לוקחות יותר.
תבדוק באיזה קידוד מגיע כל מקור ותמיר הכל ל utf8